#ifndef __STEPPER_MOTOR_H__
#define __STEPPER_MOTOR_H__

#include "main.h"
#include "my_uart.h"
#include "stdio.h"
typedef enum {
    StepMotor_Mode_Speed    = 0x00,  // 协议中0x01
    StepMotor_Mode_Position = 0x01,  // 协议中0x02
    StepMotor_Mode_Torque   = 0x02,  // 协议中0x03
    StepMotor_Mode_Angle    = 0x03   // 协议中0x04
} StepMotor_Mode;
typedef struct
{
    uint8_t ID;
    float speed; // 电机速度
    float angle; // 电机角度
    uint8_t status;  //是否停止
} Stepper_Motor;
extern Stepper_Motor StepMotor0;
extern Stepper_Motor StepMotor1;

extern volatile my_uart_struct stepper_uart6;
void addx(void);
void deductx(void);
void addy(void);
void deducty(void);
void stepper_test_proc(void);
void Stepper_Uart_Receive(void);   // 中断回调
void Stepper1_SendRequest(void);
void Stepper0_SendRequest(void);
void Stepper_Motor_Init(void);
void Stepper_Motor_Control(uint8_t ID, StepMotor_Mode mode,uint8_t direction, float speed, float angle);
void Stepper_Read_Proc(void);
void Stepper_AllStop(void); // 停止所有步进电机
#endif


